package com.yunji.news.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 校测考纲实体类
 *
 * @author yunji
 * @since 2024-11-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("exam_outlines")
public class ExamOutline {

    @TableId(type = IdType.AUTO)
    private Long id;

    @TableField("school_id")
    private Long schoolId;

    @TableField("major_id")
    private Long majorId;

    @TableField("title")
    private String title;

    @TableField("exam_year")
    private Integer examYear;

    @TableField("exam_type")
    private String examType;

    @TableField("subject_name")
    private String subjectName;

    @TableField("exam_duration")
    private Integer examDuration;

    @TableField("total_score")
    private Integer totalScore;

    @TableField("exam_format")
    private String examFormat;

    @TableField("outline_content")
    private String outlineContent;

    @TableField("knowledge_points")
    private String knowledgePoints;

    @TableField("reference_books")
    private String referenceBooks;

    @TableField("sample_questions")
    private String sampleQuestions;

    @TableField("file_url")
    private String fileUrl;

    @TableField("publish_time")
    private LocalDateTime publishTime;

    @TableField("download_count")
    private Integer downloadCount;

    @TableField("sort_order")
    private Integer sortOrder;

    @TableField("status")
    private Integer status;

    @TableLogic
    @TableField("deleted")
    private Integer deleted;

    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
}